package com.ssy.lingxi.pay.model.vo.request;

import com.ssy.lingxi.pay.model.bo.AttachFileBO;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import javax.validation.constraints.PositiveOrZero;
import java.io.Serializable;
import java.util.List;

/**
 * 授信申请新增VO
 * @author 伍将
 * @date 2020/8/17 19:49
 * @version 2.0.0
 */
public class CreditApplyAddVO implements Serializable {
    private static final long serialVersionUID = 7845681568884236618L;

    /**
     * 授信id
     */
    @NotNull(message = "授信id要大于等于0")
    @PositiveOrZero(message = "授信id要大于等于0")
    private Long creditId;

    /**
     * 申请id（大于0则更新）
     */
    @NotNull(message = "申请id要大于等于0")
    @PositiveOrZero(message = "申请id要大于等于0")
    private Long applyId;

    /**
     * 申请额度
     */
    @NotNull(message = "申请额度大于0")
    @Positive(message = "申请额度要大于0")
    private Double applyQuota;

    /**
     * 账单日
     */
    @NotNull(message = "账单日大于0")
    @Positive(message = "账单日要大于0")
    private Integer billDay;

    /**
     * 还款周期
     */
    @NotNull(message = "还款周期大于0")
    @Positive(message = "还款周期要大于0")
    private Integer repayPeriod;

    /**
     * 附件文件
     */
    @Valid
    private List<AttachFileBO> fileList;

    public List<AttachFileBO> getFileList() {
        return fileList;
    }

    public void setFileList(List<AttachFileBO> fileList) {
        this.fileList = fileList;
    }

    public Long getCreditId() {
        return creditId;
    }

    public void setCreditId(Long creditId) {
        this.creditId = creditId;
    }

    public Double getApplyQuota() {
        return applyQuota;
    }

    public void setApplyQuota(Double applyQuota) {
        this.applyQuota = applyQuota;
    }

    public Integer getBillDay() {
        return billDay;
    }

    public void setBillDay(Integer billDay) {
        this.billDay = billDay;
    }

    public Integer getRepayPeriod() {
        return repayPeriod;
    }

    public void setRepayPeriod(Integer repayPeriod) {
        this.repayPeriod = repayPeriod;
    }

    public Long getApplyId() {
        return applyId;
    }

    public void setApplyId(Long applyId) {
        this.applyId = applyId;
    }
}
